using System;
using System.Collections.Generic;
using System.Text;

namespace CodePlex.OpenSearch
{
    /// <summary>
    /// Contains a URL that identifies the location of an image that can be used in association with this search content.
    /// Image sizes are offered as a hint to the search client. The search client will chose the most appropriate image for the 
    /// available space and should give preference to those listed first in the OpenSearch description document. 
    /// Square aspect ratios are recommended. When possible, search engines should offer a 16x16 image of type "image/x-icon" 
    /// or "image/vnd.microsoft.icon" (the Microsoft ICON format) and a 64x64 image of type "image/jpeg" or "image/png". 
    /// </summary>
    internal class Image
    {
        private int _height;
        private int _width;
        private string _type;
        private string _url;


        internal Image()
        {

        }

        internal Image(int width, int height, string type, string url)
        {
            _width = width;
            _height = height;
            _type = type;
            _url = url;
        }
        /// <summary>
        /// Contains the height, in pixels, of this image.
        /// Restrictions: The value must be a non-negative integer. 
        /// Requirements: This attribute is optional. 
        /// </summary>
        internal int Height
        {
            get
            {
                return _height;
            }
            set
            {
                _height = value;
            }
        }

        /// <summary>
        /// Contains the width, in pixels, of this image.
        /// Restrictions: The value must be a non-negative integer. 
        /// Requirements: This attribute is optional. 
        /// </summary>
        internal int Width
        {
            get
            {
                return _width;
            }
            set
            {
                _width = value;
            }
        }

        /// <summary>
        /// Contains the the MIME type of this image.
        /// Restrictions: The value must be a valid MIME type. 
        /// Requirements: This attribute is optional. 
        /// </summary>
        internal string Type
        {
            get
            {
                return _type;
            }
            set
            {
                _type = value;
            }
        }



        /// <summary>
        /// The value must be a URI.
        /// </summary>
        internal string Url
        {
            get
            {
                return _url;
            }
            set
            {
                _url = value;
            }
        }


    }
}
